import request from '@/utils/request'

// ==================== 分类管理接口 ====================
// 直接调用 book-service，不经过 admin-service
const baseUrl = '/book/api/v1/category/admin'

/**
 * 获取分类树（所有分类）
 */
export const getCategoryTree = () => {
  return request.get(`${baseUrl}/tree`)
}

/**
 * 分页查询分类列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码
 * @param {number} params.size - 每页条数
 * @param {string} params.name - 分类名称（可选）
 * @param {number} params.isEnabled - 状态（可选）
 */
export const getCategoryList = (params) => {
  return request.post(`${baseUrl}/list`, params)
}

/**
 * 获取分类详情
 * @param {number} id - 分类ID
 */
export const getCategoryById = (id) => {
  return request.get(`${baseUrl}/${id}`)
}

/**
 * 新增分类
 * @param {Object} data - 分类数据
 */
export const createCategory = (data) => {
  return request.post(baseUrl, data)
}

/**
 * 更新分类
 * @param {number} id - 分类ID
 * @param {Object} data - 分类数据
 */
export const updateCategory = (id, data) => {
  return request.put(`${baseUrl}/${id}`, data)
}

/**
 * 删除分类
 * @param {number} id - 分类ID
 */
export const deleteCategory = (id) => {
  return request.delete(`${baseUrl}/${id}`)
}

/**
 * 更新分类状态（启用/禁用）
 * @param {number} id - 分类ID
 * @param {number} isEnabled - 状态（1-启用，0-禁用）
 */
export const updateCategoryStatus = (id, isEnabled) => {
  return request.put(`${baseUrl}/${id}/status`, { isEnabled })
}

/**
 * 获取父级分类列表（用于下拉选择）
 */
export const getParentCategories = () => {
  return request.get(`${baseUrl}/parents`)
}

